home *** CD-ROM | disk | FTP | other *** search
/ Atari Forever 4 / Atari Forever 4.zip / Atari Forever 4.iso / FALCON / DEMOSRGB / FD_RGB06 / U_TRACK / DOCS / ENGLISH.TXT next >
Text File  |  1998-03-14  |  21KB  |  457 lines

  1.                       Ultimate Tracker 2.0
  2.  
  3.                    * A Retour 2048 Software *
  4.  
  5.           By : - Checksum of Equinox (Amiga adaptation)
  6.                - Edy of Equinox (Falcon adaptation)
  7.                - Sharp Man of The Black Cats (Program)
  8.  
  9. _________________________________________________________________                                                               
  10.  
  11.                        English Documentation
  12. _________________________________________________________________                                                               
  13.  
  14.  
  15. 1. Overall
  16. =  =======
  17.  
  18.    This program replays Amiga (or Atari) soundtracker, Noisetrac-
  19.    ker  or  Protracker 1.2 modules.  It runs on all Atari systems 
  20.    with a DMA soundchip (STe,  Mega STe, TT or Falcon). It can be
  21.    used as well as a normal program as a desk  accessory. 
  22.  
  23.    Since  the version 2.0,  the player uses the MFP i7  interrupt 
  24.    instead  of  the  timer  A.   So  now,  all  timers  are  free 
  25.    (particulary the timer used by AES in evnt_timer).
  26.  
  27. 2. How does it run ?
  28. =  =================
  29.  
  30.    There's three ways to launch this program :
  31.  
  32.    As a normal program (extension is .PRG or .APP)
  33.    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34.    Just click onto the icon of the player to launch it.  When the 
  35.    program is loaded,  the player is displayed into a GEM window. 
  36.    There's  also  a GEM menu to access to  the  desk  accessories 
  37.    (like  the CPX sound manager).  You can load a module or  quit 
  38.    the program directly thanks to this menu.
  39.  
  40.    As a GEM program which needs parameters (extension is .GTP)
  41.    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  42.    Click onto the icon of the player to launch it. Then, a dialog 
  43.    box  appears  and asks you  to  enter  parameters.  Parameters 
  44.    needed are the path and the name of a module, just type it and 
  45.    press  return.  The  player  will load  and  play  the  module 
  46.    automatically. If you type return without typing anything, the 
  47.    program will act in the same way of a normal GEM program. Note 
  48.    that  you can drag the icon of a module and drop it  onto  the 
  49.    icon of the player, the player will load and play this module. 
  50.    (This last feature is available only with TOS version > 1.62). 
  51.    Thanks  to  this feature,  you can install the  player  as  an 
  52.    application  for the files *.MOD in the menu "options" of  the 
  53.    desktop. When you'll click onto a module, the player will play 
  54.    it automatically.
  55.  
  56.    As a desk accessory (extension is .ACC)
  57.    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  58.    Install  the player on the root of your boot disk  and  reboot 
  59.    the computer,  the player will automatically loaded,  then you 
  60.    can invoque it from any application.  Moreover you can play  a 
  61.    module  everywhere  in  background.   This  feature  is   only 
  62.    available when the player is launched as a desk accessory. You
  63.    can use the accessory as an application for *.MOD files thanks
  64.    to the program "PLAY_ACC.GTP".
  65.  
  66. 3. Little explanations
  67. =  ===================
  68.  
  69.    1. The Icons
  70.    ~~~~~~~~~~~~
  71.    The player is displayed into a standard GEM window.  Its icons 
  72.    are easy to understand, from left to right :
  73.  
  74.    Load  :  Loads a module into memory.  The size of  the  module 
  75.    ----     must  fit into the buffer (see lower). If the program 
  76.             is  launched as a PRG, APP or GTP, you can also  load 
  77.             a module  from the menu. The player can  load  module 
  78.             packed with Pack Ice any version (Atari packer),Power 
  79.             Packer (Amiga packer) or Noisepakker 1.0  from  Delta 
  80.             Force, it will depack it automatically before playing 
  81.             it. (New ! : you can load modules packed  with  Power
  82.             Packer or Noisepakker then packed again with pack ice
  83.             pack ratio for Noisepakker+Ice is more than 70% !!!)
  84.  
  85.    Rewind : Rewinds the music (jump to the previous pattern).
  86.    ------
  87.    Play   : Start the music
  88.    ----
  89.    Forward: Forwards the music (jump to the next pattern).
  90.    -------
  91.    Pause  : Pauses  the music. Click an  other  time on this icon 
  92.    -----    to restart the music.
  93.  
  94.    Stop   : Stops the music and clear the module from memory.
  95.    ----
  96.  
  97.    2. The Frequencies
  98.    ~~~~~~~~~~~~~~~~~~
  99.    There's four  buttons  under the  icons,  these buttons  allow  
  100.    you  to choose  the  frequencies.  Available  frequencies  are  
  101.    6.25 KHz, 12.5 KHz, 25 KHz or 50 KHz. Some frequencies  aren't
  102.    available on all machines. On Falcon, 6.25Khz is not available
  103.    (the DMA soundchip of the Falcon  can't  restitute  sounds  at 
  104.    this frequency) and 50Khz isn't available if the CPU speed  is
  105.    8 Mhz. 50Khz isn't available on STe  or  MegaSTe. On  MegaSTe, 
  106.    50Khz is available if the CPU speed is 16Mhz  and if the cache 
  107.    is on. Note that the more the frequency is high, the  more the 
  108.    sound is good but the more the music  takes  CPU  time.  It is 
  109.    pretty  important to choose the good frequency if you use  the 
  110.    player as a desk accessory coz the other running  applications 
  111.    will  be more or less slowed  by  the  player. (Personnaly,  I
  112.    think that 12.5 is a good value for a  STe (even  if  you  can  
  113.    listen at 25), 25 for a MSTe or Falcon030 and 50 for a TT).
  114.  
  115.    Watch out:  There's a lot of tests which are done :  depending 
  116.    the  machine  and  the CPU speed,  some  frequencies  will  be 
  117.    unavailable.  If  you're using a MegaSTe at 16MHz  and  you're 
  118.    listening at 50KHz,  if you switch the CPU time to  8MHz,  the 
  119.    frequency  will  change automatically to 12.5  KHz  and  50KHz 
  120.    will be unavailable until CPU speed is 16MHz like the  Falcon: 
  121.    if  you're listening at 50KHz and if you switch off the  68030 
  122.    caches, frequency will change automatically. But please, don't 
  123.    play  with caches and CPU speed during the player  is  playing 
  124.    module. Bad things can happen...
  125.  
  126.    3. Loop
  127.    ~~~~~~~
  128.    This  button switches the loop flag.  If it's ON,  the  module 
  129.    will play again when it will reach its end,  if it's  OFF,  it 
  130.    will stop and clear from memory.
  131.  
  132.    4. Position display
  133.    ~~~~~~~~~~~~~~~~~~~
  134.    Under these button,  there's a graphic display of the  current 
  135.    position of the music.
  136.  
  137.    5. The other buttons
  138.    ~~~~~~~~~~~~~~~~~~~~
  139.    Under  these  4  buttons  (or under the icons  if  you  use  a 
  140.    Falcon), there is 3 buttons :
  141.  
  142.    -> Quit  : Close the  player  window  and stop the music. This 
  143.    -------    music is cleared from memory. If you use the player
  144.               as PRG, APP or GTP, you can do the same thing  with
  145.               the option QUIT of the menu FILE.
  146.  
  147.    -> Play  : This button is only available if the program  is  a   
  148.    -------    desk accessory. Clicking on this button  close  the
  149.               player window but the music  is  still  playing  on 
  150.               background.
  151.  
  152.    Config   : This button allows you to configure the player. 
  153.    ------     You can change the size of the allocated memory and 
  154.               the default path for the modules.
  155.                            
  156.               1. The size of the buffer
  157.               -  ----------------------
  158.               To load the module, the program reserves an amounts 
  159.               of memory when it is launched. By  default the size 
  160.               is 256000 bytes. You can increase  or decrease this 
  161.               amount, but  notice  that the new value will be ef-
  162.               fective only  the  next time you'll launch the pro-
  163.               gram  coz  the  memory  allocation is done only one 
  164.               time (when the program starts). When you click onto 
  165.               this button, a dialog box appears  and  displays in 
  166.               the upper part the current  size  of  the  reserved 
  167.               memory, type in the lower part the size  you  want, 
  168.               then  click on OK or type return.
  169.  
  170.               2. The default path
  171.               -  ----------------
  172.  
  173.               You  can  choose  the  path  where the player will 
  174.               search the modules. To choose  it,  click  on  the 
  175.               button "Choose path", a fileselector appears to do 
  176.               it. The selected path is displayed into a  box. If 
  177.               the path doesn't fit into this box, you can see it 
  178.               by clicking on the arrows buttons to scroll it.
  179.  
  180.               To  save  these parameters, click on OK (Cancel to 
  181.               leave). The new parameters are saved directly into 
  182.               the file of the program, that's why a fileselector 
  183.               appears,  choose  the player file and click on OK.  
  184.               As this size is  saved  directly into  the program 
  185.               file, you  must'nt  change  the structure of  this         
  186.               file, for exemple, you can't pack the player.  
  187.               In fact,  you can pack the player  but you'll have 
  188.               to unpack it before modifying the size then you'll 
  189.               be able to pack it again. 
  190.   
  191.  
  192. 4. Ultimate Tracker and Multitos
  193. =  =============================
  194.  
  195.    Ultimate Tracker works fine with Multitos on all machines I've 
  196.    tested (STe,  TT and Falcon). It works fine with great screens 
  197.    and graphic card (like Spektrum).  The ressource file will use 
  198.    AES features of Multitos on a STe and TT.  Be careful :  don't 
  199.    modify  flags of the program (with the  program  PRGFLAG.PRG), 
  200.    this  program  must have its  "SUPER" bit set coz  it  uses  a 
  201.    timer under multitos,  if you switch off this flag, the system 
  202.    will crash. WARNING ! Never kill the process when  the  player
  203.    is playing a module, coz the memory used by the interrupt rout
  204.    will be free without prevent the player, stop music, then kill
  205.    the process.
  206.  
  207. 5. The APPL_WRITE commands
  208. =  =======================
  209.  
  210.    GEM  provides  a  way  to  communicate  beetween  applications 
  211.    through an events buffer.  This allows an application to  take 
  212.    control  of  an  other one.  Ultimate  Tracker  support  these 
  213.    commands,  so your application can pilot the player.  How does 
  214.    it run ?
  215.  
  216.    First of all,  the player must be resident in memory. The only 
  217.    way  to  do  that  is to install it as  a  desk  accessory  in 
  218.    monotasking  TOS,  you  can launch it the way  you  want  with 
  219.    Multitos.
  220.  
  221.    Then, you must find the  AES  identification  of  the  player,
  222.    there's two ways to find this id. The  "nicer"  method  is  to
  223.    use the AES function appl_find like this :  id=APPL_FIND(name)
  224.    where name is the filename of the player without its extension
  225.    watch out, the name must  have  8  characters.  This  function
  226.    returns the AES id. If you don't know the current filename  of
  227.    the player, there's an other way to proceed : the player  when
  228.    it is installed, put a cookie into the cookie jar. This cookie
  229.    is : "UTRK" and the data cookie is  the  current  AES  id.  Be
  230.    careful and use this last way of finding AES id if you're sure
  231.    that you won't able to find it with appl_find. You can imagine
  232.    easily the problems if there's several instances of the player
  233.    in memory, you won't able to know who belongs the AES  id  re-
  234.    turned by appl_find or by the cookie jar. 
  235.  
  236.    1. Commands sent to the player
  237.    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  238.  
  239.    Thanks to this AES id, you'll be able to control the player or
  240.    receive messages from it. You can send commands to the  player
  241.    with the AES function APPL_WRITE. APPL_WRITE needs  3  parame-
  242.    ters : the identification of the player, the number  of  bytes 
  243.    to send to the player and the adress of an array  of  integers
  244.    (16 bits word)which contain the command to send to the player.
  245.    
  246.    These commands have this format :
  247.  
  248.    - 1st word : always equal to ID_TRACK (999)
  249.    - 2nd word : number of the command
  250.    - 3 - 8    : parameters
  251.  
  252.    The commands are :
  253.  
  254.    T_LOAD    (900)  : Load a module into the player buffer.
  255.                       The adress of the path  and  the  name  of 
  256.                       the  module is into the 3rd  and  the  4th 
  257.                       words. (MSB part in 3rd and LSB in 4th).
  258.    T_PLAY    (901)  : Plays the module loaded.
  259.    T_FORWARD (902)  : Forwards the module.
  260.    T_REWIND  (903)  : Rewinds the module.
  261.    T_PAUSE   (904)  : Pauses the module.
  262.    T_STOP    (905)  : Stops the module and clears it from memory.
  263.    T_ABOUT   (906)  : Display an information box.
  264.    T_OPEN    (907)  : Opens the player window.
  265.    T_CLOSE   (908)  : Closes the player window.
  266.    T_FREQ    (909)  : Changes the frequency. 
  267.                       3rd word contains the frequency (0-3).                      
  268.    T_LOOP    (910)  : Switches the loop flag ON/OFF.
  269.    T_IDENT   (911)  : Tells to the  player  that the application 
  270.                       wants receive messages from the player.
  271.                       Word 3 contains AES id of the application.
  272.                       (see next paragraph).
  273.    T_FIDENT  (912)  : Tells to the player that  the  application
  274.                       doesn't want no more messages. (idem).
  275.    T_INFOS   (913)  : Ask some informations to the player.
  276.                       See next paragraph for reception of  these
  277.                       informations.
  278.  
  279.    To see how to use these commands, have a look to the  program
  280.    called \EXEMPLE\SHELL\CMD_TRAX.C. It is a shell which control
  281.    the player. 
  282.  
  283.    Note: If you use this feature under Multitos, don't forget to 
  284.    ----  switch on the "GLOBAL" flag of your program,  coz  when
  285.          you will send a T_LOAD command to the player, the play-
  286.          er will read at the address you gave it to get the path
  287.          of the module, but this address is located into the me-
  288.          mory of your application. The "GLOBAL" flag allows  the
  289.          player to read into the memory of your application.  If
  290.          this flag is off, Multitos  will  make  a  memory  pro-
  291.          tection error and will remove the player from memory.
  292.  
  293.    2. Messages which are received
  294.    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  295.  
  296.    You can send commands to the  player,  but  you  can  receive
  297.    messages from the player too. These messages tell to  an  ap-
  298.    plication all things the player does. To receive these messa-
  299.    ges, you have to proceed this way :
  300.    
  301.    - Tell  to  the  player  we  want  messages  with the command 
  302.      T_IDENT. Since the player receive this  command,  it  gonna
  303.      send messages to the application.
  304.    - Wait for messages in an evnt_multi loop.
  305.    - When the application needn't no more message, send the com-
  306.      mand T_FIDENT.
  307.  
  308.    Messages have this format :
  309.  
  310.    - 1st word  : always equel to ID_REPONSE (998)
  311.    - 2nd word  : number of the message
  312.    - 3 - 8     : parameters
  313.    
  314.    Messages are :
  315.  
  316.    R_PLAY     (951) : The module starts playing.
  317.    R_FORWARD  (952) : Forward.
  318.    R_REWIND   (953) : Rewind.
  319.    R_PAUSE_ON (954) : Pause is ON.
  320.    R_PAUSE_OFF(955) : Pause is ON.
  321.    R_STOP     (956) : Module is stopped and cleared from memory.
  322.    R_OPEN     (957) : Player window is opened.
  323.    R_CLOSE    (958) : Player window is closed.
  324.    R_FREQ     (959) : The frequency is changed (new frequency in 
  325.                       third word).
  326.    R_LOOP_OFF (960) : The loop flag is OFF.
  327.    R_LOOP_ON  (961) : The loop flag is ON.
  328.    R_BEGLOAD  (962) : Module is loading. (word  3  contains  MSB
  329.                       part of the adress of filename and  word 4
  330.                       contains LSB  part.)  To  access  of  this
  331.                       filename under  MultiTOS,  you  must be in
  332.                       supervisor mode, coz player has its  Super
  333.                       flag ON.
  334.    R_ENDLOAD  (963) : Module has been loaded without error.
  335.    R_FAILOAD  (964) : Error during module loading.
  336.    R_MOVE     (965) : Player window has been moved. New  X and Y
  337.                       positions are in word 3 and 4.
  338.    R_INFOS    (966) : This  message  is  sent  when  the  player
  339.                       receives the T_INFOS command.
  340.                       word 3 : player window handle.
  341.                       word 4 : vdi graphic handle.
  342.                       word 5 : AES id.
  343.                       word 6 : Major version number.
  344.                       word 7 : Minor version number.
  345.    R_POSIT    (967) : Current position of the music.
  346.                       word 3 : current position.
  347.                       word 4 : last position.
  348.    R_QUIT     (968) : Player is removed from memory.
  349.    R_ENDMOD   (969) : The module has reached its  end (only  when
  350.                       loop flag is OFF).
  351.    R_PROTECMOD(970) : This message is received  when  the  loaded
  352.                          module has corrupted informations, it  will
  353.                          be impossible to know where the module gon-
  354.                          ga loop so, it will be impossible  to  for-
  355.                          ward, rewind or see the player counter.
  356.  
  357.    If you need other messages, tell it to  me.  See  the  program
  358.    EXEMPLE\RECEIVE\RECEIVE.C.
  359.  
  360.    Note: If you use these feature under  MultiTOS,  you  have  to
  361.    ----  be in Supervisor mode in your application to access  the
  362.          name of the module in the message T_BEGLOAD coz you want
  363.          to access to an address which is located into the player
  364.          memory, and this memory area has its flag  "Super"  set.
  365.          So this memory can only be accessed in supervisor mode.
  366.  
  367. 6. Limitations
  368. =  ===========
  369.  
  370.    There's  some  limitations in this  program.  Up  to  now,  it 
  371.    doesn't test if the file loaded is a module or not, if you try 
  372.    to load anything instead of a module,  the program will crash. 
  373.    There's  sometimes  on Falcon a bug :  the player  makes  some 
  374.    strange  noise instead of playing music. It  seems  that  this 
  375.    bug is fixed.  Anyway,  to avoid this problem, put the program 
  376.    called  FPATCH.PRG in your AUTO folder,  it fixes 2 bugs  (and 
  377.    one of them is the sound initialization, it concern  only  TOS
  378.    lesser than 4.05). 
  379.  
  380.    !!! PLEASE DON'T LAUNCH TWO INSTANCES OF THIS PROGRAM  IN  THE
  381.    SAME SESSION. BAD THINGS CAN HAPPEN (Why do you  wanna  listen
  382.    two modules in same time ???)
  383.  
  384. 7. Sources and other...
  385. =  ====================
  386.  
  387.    There three sources given with this program :
  388.  
  389.    -  SHELL  :  It's a small shell which can control  the  player 
  390.    thanks to the appl_write commands. Use it with MintShell under 
  391.    MultiTOS or with a shell into a window under TOS.
  392.  
  393.    - RECEIVE :  A sample of program which show messages which are 
  394.    sent  by the player to an application.  Thanks to this  sample 
  395.    and  the first one,  you can see how to make communication  in 
  396.    two directions between the player and an application.
  397.  
  398.    To see how these programs run, use them  simultaneously  under
  399.    MultiTOS with Mintshell (funny !).
  400.  
  401.    -  PLAY_ACC  :  A program which allows you to use  the  player 
  402.    which  is  a  desk accessory as an application  for  the  .MOD 
  403.    files.  Install this program in the desktop as an  application 
  404.    and  then,  every time you'll click onto a  module  icon,  the 
  405.    accessory will load and play it.
  406.      
  407.    I don't spread the sources of the player now coz there's still 
  408.    bugs to fix and I want to make the memory management again.
  409.  
  410.  
  411.    CPU used
  412.    ~~~~~~~~
  413.    
  414.    I made some little tests with GEMBENCH to see how CPU time the
  415.    player takes. I made these tests in 736X560 mode (with 16  co-
  416.    lors) on Falcon030. 
  417.    
  418.    12.5 Khz : 16 % CPU time used
  419.    25   Khz : 27 % CPU time used
  420.    50   Khz : 50 % CPU time used
  421.  
  422.    To contact us :
  423.    ~~~~~~~~~~~~~
  424.  
  425.    The Black Cats / Equinox
  426.    Châlet de Riqueval
  427.    02420 Bellicourt
  428.    France
  429.  
  430.    3614 RTEL1/RTEL2 or 3614 TEASER or 3615 STMAG bal Sharpman
  431.  
  432.  
  433. 8. History
  434. =  =======
  435.  
  436. v.1.0ß   - Just load and plays modules on Falcon
  437. v.1.1ß   - Plays modules as a desk accessory (accept Packed 
  438.            modules with Pack Ice)
  439. v.1.2ß   - New graphix interface.
  440. v.1.4ß   - Correct lots of bugs. 
  441. v.1.5ß   - Supports Power Packer 
  442. v.1.6ß   - Supports STe/TT replay routines
  443. v.1.7ß   - works fine under Multitos/supports APPL_WRITE cmds
  444. v.1.0    - Supports AES 4.0 on STe or TT
  445. v.1.1    - Supports all Pack Ice version and Noisepakker 1.0
  446. v.1.2    - Allows to save default path
  447. v.1.3    - Speeded up Falcon replay routine by NOP/DSP CREW (Thanks !)
  448. v.1.4    - I fixed a lot of fucking memory bugs
  449. v.1.5    - "New" player routine
  450.                  - Allows to change frequency on Falcon030
  451.                  - Fixes display bugs
  452.                  - Uses 030 cache on TT and memory cache on MSTe
  453. v.1.7    - Fix a lot of bugs
  454. v.2.0    - Allows communication with a shell in two ways
  455.          - Use MFP i7 instead of Timer A
  456.          - Shows current position
  457.